package com.jhj.service.bm;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.jhj.po.bm.model.BmOrder;
import com.jhj.service.BaseService;
import com.jhj.vo.bm.ChartSearchVo;
import com.jhj.vo.bm.OrderBaseVo;
import com.jhj.vo.bm.OrderDetailVo;
import com.jhj.vo.bm.OrderListVo;
import com.jhj.vo.bm.OrderSearchVo;

public interface BmOrderService extends BaseService<BmOrder> {

	OrderBaseVo getBaseInfo(BmOrder order);

	OrderListVo getListVo(BmOrder item);

	OrderDetailVo getDetailVo(BmOrder item);

	/**
	 * 订单分类数量统计
	 */
	List<Map<String, String>> countOrderNumGbServiceType(ChartSearchVo vo);

	List<Map<Integer, Integer>> countOrderSale(OrderSearchVo searchVo);

	int countOrderBySearchVo(ChartSearchVo searchVo);

	List<BmOrder> selectByListPage(OrderSearchVo orderVo, Integer pageNum, Integer pageSize, String orderBy);

	List<BmOrder> selectBySearchVo(OrderSearchVo orderVo, String orderBy);

	int statUserNum(ChartSearchVo searchVo);

	void orderDispatchSuccess(BmOrder order, HashMap<String, Object> dispatchInfo, Boolean isSelfDispatch);

}
